home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / lib / python2.4 / idlelib / CallTipWindow.pyo (.txt) < prev    next >
Python Compiled Bytecode  |  2005-10-18  |  3KB  |  88 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyo (Python 2.4)
  3.  
  4. '''A CallTip window class for Tkinter/IDLE.
  5.  
  6. After ToolTip.py, which uses ideas gleaned from PySol
  7. Used by the CallTips IDLE extension.
  8.  
  9. '''
  10. from Tkinter import *
  11.  
  12. class CallTip:
  13.     
  14.     def __init__(self, widget):
  15.         self.widget = widget
  16.         self.tipwindow = None
  17.         self.id = None
  18.         self.x = self.y = 0
  19.  
  20.     
  21.     def showtip(self, text):
  22.         ''' Display text in calltip window'''
  23.         if len(text) >= 79:
  24.             text = text[:75] + ' ...'
  25.         
  26.         self.text = text
  27.         if self.tipwindow or not (self.text):
  28.             return None
  29.         
  30.         self.widget.see('insert')
  31.         (x, y, cx, cy) = self.widget.bbox('insert')
  32.         x = x + self.widget.winfo_rootx() + 2
  33.         y = y + cy + self.widget.winfo_rooty()
  34.         self.tipwindow = tw = Toplevel(self.widget)
  35.         tw.wm_overrideredirect(1)
  36.         tw.wm_geometry('+%d+%d' % (x, y))
  37.         
  38.         try:
  39.             tw.tk.call('::tk::unsupported::MacWindowStyle', 'style', tw._w, 'help', 'noActivates')
  40.         except TclError:
  41.             pass
  42.  
  43.         label = Label(tw, text = self.text, justify = LEFT, background = '#ffffe0', relief = SOLID, borderwidth = 1, font = self.widget['font'])
  44.         label.pack()
  45.  
  46.     
  47.     def hidetip(self):
  48.         tw = self.tipwindow
  49.         self.tipwindow = None
  50.         if tw:
  51.             tw.destroy()
  52.         
  53.  
  54.  
  55.  
  56. class container:
  57.     
  58.     def __init__(self):
  59.         root = Tk()
  60.         text = self.text = Text(root)
  61.         text.pack(side = LEFT, fill = BOTH, expand = 1)
  62.         text.insert('insert', 'string.split')
  63.         root.update()
  64.         self.calltip = CallTip(text)
  65.         text.event_add('<<calltip-show>>', '(')
  66.         text.event_add('<<calltip-hide>>', ')')
  67.         text.bind('<<calltip-show>>', self.calltip_show)
  68.         text.bind('<<calltip-hide>>', self.calltip_hide)
  69.         text.focus_set()
  70.         root.mainloop()
  71.  
  72.     
  73.     def calltip_show(self, event):
  74.         self.calltip.showtip('Hello world')
  75.  
  76.     
  77.     def calltip_hide(self, event):
  78.         self.calltip.hidetip()
  79.  
  80.  
  81.  
  82. def main():
  83.     c = container()
  84.  
  85. if __name__ == '__main__':
  86.     main()
  87.  
  88.